# 一切皆对象。函数也不例外，python 底层源码中所谓的定义一个函数，本质上只是新增一个变量，然后变量中定义了一个叫
# function object，然后给他命名。很像我们创建对象、命名变量的过程。
# 与一般变量不一样的是，函数对象是一个 可调用对象（callable）
# 当我们给任意一个对象后面加上()，就意味着允许传入参数对其进行调用

# 调用一个可调用对象，是去这个对象中寻找__call__()的方法，如果有，认为可调用，如果不存在则报错

def func():
    pass

a = func
b = func()

a()
func()  # 使得某一个函数可以像变量一个被传递，在任意时刻我们需要对他进行调用的时候就可以对他进行调用
# 变量可以作为另一个函数的入参
# 也可以作为另一个函数的返回值


if __name__ == "__main__":
    print(1)
